package com.yuw.filedemo;

import java.io.File;
import java.io.IOException;
import java.util.Scanner;

import org.junit.jupiter.api.Test;

public class FileTestDriver {
	/**
	 * 输入一个目录名，遍历该文件下所有的文件信息（如果是文件，则直接输出文件名，如果是文件夹直接输出文件夹下的所有文件的信息）
	 */
	@Test
	public void test03() {
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入一个文件名：");
		String strFileName=sc.nextLine();
		//创建一个文件对象
		File file = new File(strFileName);
		//判断该文件是否存在，并且不是隐藏文件
		if(file.exists()&&!file.isHidden()) {
			//判断是不是文档文件（判定是不是目录文件）
			if(file.isDirectory()) {
				//是目录
				File[] subFiles=file.listFiles();
				System.out.println("目录：");
				System.out.println(file.getAbsolutePath());
				//递归调用，打印子文件及子文件夹下的文件
				for (File file2 : subFiles) {
					System.out.println("    --"+file2.getAbsolutePath());
					
				}
			}else{
				//是文档文件
				System.out.println(file.getAbsolutePath());
			}
			
		}else {
			System.out.println("该文件不存在或者是隐藏文件");
		}
	}
		//File文件的实例对象
	@Test
	public void test04() {
		//File文件的实例对象
		File file =new File("E:\\temp\\t1\\t1\\tt00.txt");
		
		System.out.println("Absolutepath::"+file.getAbsolutePath());
		System.out.println("Path::"+file.getPath());
		System.out.println("exists:"+file.exists());
		if(!file.exists()) {
			//如果文件不存在则创建该文件
			try {
				file.createNewFile();
				
			} catch (IOException e) {
				// TODO: handle exception
				
				//可能是路径没有创建成功
				//先创建目录路径
				File parentFile=file.getParentFile();
				if(parentFile !=null) {
					//创建父类目录
					if(parentFile.mkdirs()) {
						//再次尝试创建失败的文件对象
						try {
							file.createNewFile();
							
						} catch (IOException e1) {
							// TODO: handle exception
							e1.printStackTrace();
						}
					}
					
				}
				parentFile.mkdirs();
				System.out.println("fff:"+file.getParent());
				System.out.println("fff:"+file.getParentFile().getAbsolutePath());
			}
		}
		   
	}
	@Test
	public void test01() {
		//File文件的实例对象
		File file =new File("E:\\temp\\00.txt");
		
		System.out.println("Absolutepath::"+file.getAbsolutePath());
		System.out.println("Path::"+file.getPath());
		System.out.println("exists:"+file.exists());
		if(!file.exists()) {
			//如果文件不存在则创建该文件
			try {
				file.createNewFile();
				
			} catch (IOException e) {
				// TODO: handle exception
				e.printStackTrace();
			}
		}
		   
	}
	@Test
	public void test02() {
		// File文件的实例对象
		File file = new  File("temp_tt.txt");
		System.out.println("AbsolutePath::"+file.getAbsolutePath());
		System.out.println("Path::"+file.getPath());
	}
	

}
